Security encapsulation of ethernet frames

ABSTRACT

A technique for encapsulating data packets at a Data Link Layer to provide security functions. The technique first encrypts a payload to provide an encrypted payload. The encrypted payload is inserted in an output encapsulated frame. Also added to the output encapsulated frame is an encapsulation header that includes security information, such as a security packet index (SPI) value used to identify a security association (SA). Because the output encapsulated frame may now be longer than maximum allowed Ethernet Path Maximum Transmission Unit (PMTU), the encapsulation header also preferably includes a fragmentation field. The fragmentation field supports the ability to fragment the encrypted datagrams into smaller pieces.

BACKGROUND OF THE INVENTION

This invention relates generally to communication networks and in particular to a technique for securing communication at the Data Link Layer (layer 2) of the Open System Interconnection (OSI) Reference Model. The Data Link Layer may provide for reliable transfer of information across the physical layer.

Data transferred over many communication networks are typically sent unsecured, without the benefit of encryption and/or strong authentication of the sender. Sending unsecured data on a communication network may make the data vulnerable to being intercepted, inspected, modified and/or redirected. To make data less prone to these vulnerabilities, many networks employ various security standards and protocols to secure network traffic transferred in their networks. This secured network traffic is typically transferred using data packets that are encoded according to a security standard and/or protocol. As used herein, a secure data packet is a data packet that has been secured using a security standard and/or protocol. Likewise, as used herein, an unsecured data packet is a data packet that has not been secured using a security standard and/or protocol.

One well-known widely-used standard for securing Internet Protocol (IP) traffic is the IP security (IPsec) standard. The IPsec standard comprises a collection of protocols that may be used to transfer secure data packets in a communication network. IPsec operates at layer-3 (L3) which is the network layer of the Open Systems Interconnection Reference Model (OSI-RM). A description of IPsec may be found in Request for Comments (RFC) 2401 through RFC 2412 and RFC 4301 through RFC 4309 all of which are available from the Internet Engineering Task Force (IETF). Two cryptographic protocols that are commonly used to encapsulate IPsec packets are the Authentication Header (AH) protocol and the Encapsulating Security Payload (ESP) protocol.

The AH protocol is primarily used to provide connectionless integrity and authentication of IP datagram traffic. The authentication enables the origin of the traffic to be verified and ensure that the traffic has not been altered in transit. Authentication and integrity of an IP packet is achieved using a keyed one-way hash function, such as Message Digest algorithm 5 (MD5) or Secure Hash Algorithm-1 (SHA-1), in combination with a secret that is shared between a sender of the packet and a receiver of the packet.

Like the AH protocol, the ESP protocol provides a means to authenticate and verify the integrity of IP traffic carried in a secured packet. In addition, the ESP protocol provides a means to encrypt the IP traffic to prevent unauthorized interception of the IP traffic. Like the AH protocol, the ESP uses an ICV to authenticate and check the integrity of a packet. Encryption is used to secure the IP traffic. Encryption is accomplished by applying an encryption algorithm to the IP traffic to encrypt it. Encryption algothrims commonly used with IPsec include Data Encryption Standard (DES), triple-DES and Advanced Encryption Standard (AES).

A payload of an Ethernet packet may be encrypted, however encryption of the payload itself does not support authentication or other security functions as per IPsec. For example, IEEE 802.1AE Media Access Control Security (MACsec) standard integrates security protection into wired Ethernet to secure local area networks (LANs) from attacks. However, IEEE 802.1AE provides only hop-by-hop security, and not complete end-to-end security.

SUMMARY OF THE INVENTION

What is needed is a way to provide security to provide functions such as data origin authentication, data integrity, and data confidentiality transferred over a Data Link Layer (layer 2) of the Open System Interconnection (OSI) Reference Model without requiring modification of higher layers.

The present invention provides a technique for encapsulating data packets at a Data Link Layer to provide security functions. Starting with an input frame, that may be standard Ethernet frame having an original header and a payload, the technique first encrypts the payload to provide an encrypted payload. The encrypted payload is inserted in an output encapsulated frame. Also added to the output encapsulated frame is an encapsulation header that includes security information, such as a security packet index (SPI) value used to identify a security association (SA).

Because the output encapsulated frame may now be longer than maximum allowed Ethernet Path Maximum Transmission Unit (PMTU), the encapsulation header also preferably includes a fragmentation field. The fragmentation field supports the ability to fragment the encrypted datagrams into smaller pieces, i.e., pieces that are small enough to meet a PMTU requirement.

Moreover, in order to support features such as virtual local area network (VLAN) per IEEE 802.1Q and/or Multi-Protocol Label Switching (MPLS) both VLAN tags and MPLS labels may be included in the header of the output encapsulated frame.

Optional features of the encapsulation header may include further fields such as a peer data flag to identify peer to peer encrypted traffic and other elements that, for example, may include an initialization vector used for the encryption/decryption processing.

BRIEF DESCRIPTION OF THE DRAWINGS

The foregoing will be apparent from the following more particular description of example embodiments of the invention, as illustrated in the accompanying drawings in which like reference characters refer to the same parts throughout the different views. The drawings are not necessarily to scale, emphasis instead being placed upon illustrating embodiments of the present invention.

FIG. 1 is a high level diagram of a computer network that may provide security encapsulation of Ethernet frames in accordance with one embodiment of the invention;

FIG. 2 is a diagram of a standard Ethernet frame format in accordance with one embodiment of the invention;

FIG. 3 is a diagram illustrating a security encapsulated Ethernet frame after techniques according to the present invention are applied; and

FIG. 4 is a more detailed view of an encapsulation header and initialization vector portion of the encapsulated Ethernet frame in accordance with the example embodiment of the invention.

DETAILED DESCRIPTION OF THE INVENTION

A description of preferred embodiments of the invention follows.

FIG. 1 is a high level diagram of a network 100 that consists of sub-network 101 a and sub-network 101 b interconnected by a wide area network 130. An exemplary sub-network 101 a consists of a number of customer premises equipment that may receive and provide communications in the wide area network 130. The customer premises equipment 105 a may include Ethernet enabled devices such as personal computers, workstations, file servers, printers, Internet Protocol (IP) telephones, IP video devices and the like (e.g. 105 a-1, 105 a-2, . . . , 105 a-n).

The customer premises equipment 105 a may be interconnected by a local Ethernet network 115 a. An encryptor appliance 120 a is disposed in line between the Ethernet network 115 a and internetworking devices such as a gateway 125 a. The gateway 125 a provides connectivity into network 130 so that customer premises equipment 105 a may communicate with other customer premises equipment 105 b connected to network 130 such as computer terminals 105 b-1, 105 b-2, . . . , 105 b-n and servers 110 b-1, . . . , 110 b-n in sub-network 101 b.

Sub-network 101 b may be similar to sub-network 101 a. Sub-network 101 b may include gateway 125 b and encryptor appliance 120 b that couple to Ethernet network 115 b to provide network connectivity to customer premises equipment 105 b. Customer premises equipment 105 b may include Ethernet enabled devices such as personal computers, workstations, file servers, printers, Internet Protocol (IP) telephones, IP video devices and the like (e.g. 105 b-1, 105 b-2 . . . 105 b-n).

In-line encryptor appliances 120 a and 120 b examine packet traffic traveling, respectively, between Ethernet 115 a and gateway 120 a and Ethernet 115 b and gateway 120 b. The line encryptor appliances 120 a and 120 b may modify the format of Ethernet packets according to the present invention. In particular, the encryptor appliances 120 a and 120 b apply a security protocol to Ethernet frames that provide data origin authentication, data integrity and data confidentiality through the use of security encapsulation of the Ethernet payload. Information concerning the security protocol to be applied, such as encryption keys, security associations, policies and the like, are provided to appliances 120 from elsewhere in the network.

Packets incoming to encryptor 120 a from sub-network 101 a or exiting encryptor 120 a destined for Ethernet sub-network 101 a may have the Ethernet frame format of FIG. 2. An Ethernet frame 200, as is well known in the art, consists of a header 201 including a destination address 205 of 6 bytes, a source address 210 of 6 bytes, and an 802.1Q tag type 215 of 2 bytes. The Ethernet frame 200 may also include a priority field 220 that may be used to assign a priority level, canonical format indicator (CFI) 225 to indicate the presence of a routing information field (RIF), and Virutal Local Area Network (VLAN) Identifiers (VIDs) 230 and 235. Priority field 220, CFI 225, and VIDs 230 and 235 occupy a total of 2 bytes. An Ethernet payload field 240, which may be from 48-1500 bytes long, is followed by a trailer field (cyclic redundancy check CRC 245) of 4 bytes.

FIG. 3 shows a detailed diagram of an output encapsulated frame 300 after being processed by encryptor 120 a. Encryptor 120 a receives an input Ethernet frame 200 having an original header 210 and payload 240 as shown in FIG. 2. Encryptor 120 a encrypts the payload 240 to provide an Ethernet encrypted payload 350. Encryptor 120 a then inserts the encrypted payload 350 in the output encapsulated frame 300, in the same place as the original payload 240. Thus output encapsulated frame 300 has the same destination address 305, source address 310, 802.1Q tag type 315, priority 320, CFI 325, VID fields 330 and 335 as the original Ethernet frame 200.

However, also included in the output encapsulated frame 300 are an encapsulation header 340 and initialization vector 345, encrypted Ethernet payload 350, padding 355 and authentication trailer 360. In addition it should be understood that the CRC field 365 would be different for the encapsulated packet 300.

If the original Ethernet frame 200 supports features such as VLAN per IEEE 802.1Q and/or Multi-Protocol Label Switching (MPLS) both VLAN tags and MPLS labels may be copied into the encapsulated packets header in the same location and without modification. However, the Ethernet payload in the original packet 240 becomes the encrypted Ethernet payload 350 in the outgoing encrypted Ethernet frame 300.

The Ethernet payload 350 may be encrypted using encryption algorithm such as the AES-256 CBC encryption algorithm. With the AES-256 CBC encryption algorithm, a padding filed 355 of from 1 to 16 bytes is added to the payload to adhere to encryption algorithm's 128-bit block size requirement. The shaded area of FIG. 3 (i.e., encrypted Ethernet payload 350 and padding 355) illustrates the portion of the packet that is encrypted. With the required padding the encrypted payload is typically longer than the original payload.

FIG. 4 shows the encapsulation header 340 and initialization vector 345 portion of encapsulated frame 300 in more detail. Encapsulation header 340 and initialization vector 345 together comprising a 24 byte field that is preferably inserted before the encrypted payload 340 of encapsulated packet 300. Encapsulation header 340 may include at least a 17-bit reserved field 405, 1-bit peer field 410, and 14-bit fragmentation field 435.

The fragmentation field 435 allows encrypted datagrams to be fragmented into pieces that are small enough to pass over a communication link having a smaller path maximum transmission unit (PMTU) than the originally encapsulated datagram. In particular, certain networks require strict observation of the limitation on frame size; however, encryption of the payload portion of the frame may cause it to exceed the maximum allotted PMTU size, (i.e., 1500 bytes in some networks). The fragmentation field 435 includes a 12-bit fragment ID field 425, 1-bit begin fragment flag 415, and 1-bit end fragment flag 420. Field 425 and flags 415 and 420 enable reconstruction of a fragmented encrypted frame, such as by marking a first frame with the begin fragment flag 415, and an end frame with the end flag 420.

Also included is a 32-bit security parameters index (SPI) value field 430. This permits identification of a security association used to encapsulate and encrypt the packet. For example, an SA according to the IPsec standard may be used to determine an SPI value field.

The 1-bit peer data flag 410 may be used to identify a peer to peer encryptor traffic. In particular, the peer-to-peer flag is set when encryptor 120 a sends a message to encryptor 120 b without involving the customer premises equipment 105 a and 105 b. Such a message, for example, may include exchanges of security association information in order to authenticate end-to-end communication, set up secure tunnels or other management functions.

Finally, hashing algorithms such as the SHA-1 algorithm is then performed on the entire encrypted packet 300 to result in the CRC value 32. The integrity check value produced by the hashing algorithm and the packet CRC value 32 are then appended to the Ethernet encrypted payload 350 to produce the encrypted encapsulated packet 300.

As can be understood now the present invention provides for the ability to apply security encapsulation to Ethernet frames providing an advantage over prior art approaches to network security.

While this invention has been particularly shown and described with references to preferred embodiments thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the scope of the invention encompassed by the appended claims. 

1. A method for encapsulating data packets in a communication network, the method comprising: receiving a data packet having an Ethernet frame from a communication network, the Ethernet frame having an original header and original payload; encrypting the original payload to provide an encrypted payload; determining an encapsulation header for encrypted payload, the encapsulation header including security association information; and constructing an encapsulated packet from the original header, the encapsulation header, and the encapsulated payload.
 2. The method of claim 1 wherein the encapsulation header comprises a fragmentation field.
 3. The method of claim 1 wherein the security association in the encapsulation header comprises a Security Parameters Index (SPI) value.
 4. The method of claim 1 additionally comprising: determining an integrity check value for the original payload.
 5. The method of claim 4 additionally comprising: appending the integrity check value to the original payload.
 6. The method of claim 1 wherein the Ethernet frame further comprises: a Virtual Network Identifier (VID); and the encapsulated packet further comprises the VID.
 7. An apparatus comprising: a receiver for receiving a data packet having an Ethernet frame from a communication device, the Ethernet frame having an original header and original payload; an encryptor, for encrypting the original payload, to provide an encrypted payload; a packet processor, for determining an encapsulation header for the encrypted payload, the encapsulation header comprising security association information; and a packet assembler for assembling an encapsulated packet from the original header, the encapsulation header, and the encapsulated payload.
 8. The apparatus of claim 7 wherein the encapsulation header comprises a fragmentation field.
 9. The apparatus of claim 7 wherein the security association comprises a Security Parameters Index (SPI) value.
 10. The apparatus of claim 7 wherein the packet processor further determines an integrity check value for the original payload.
 11. The apparatus of claim 10 wherein the packet processor additionally appends the integrity check value to the original payload.
 12. The apparatus of claim 7 wherein Ethernet frame further comprises a Virtual Network Identifier (VID), and the encapsulated packet further comprises the VID. 